#include <pthread.h>
#include <stdio.h>
#include <unistd.h>

static pthread_t thread;

/**
 * 子线程的主函数
 */
void *thread_func(void *argv)
{
    char *str = argv;
    for (size_t i = 0; i < 10; i++)
    {
        printf("%s", str);
        sleep(1);
    }
    pthread_exit("子线程执行完毕");
}

int main(int argc, char const *argv[])
{
    char *result;
    pthread_create(&thread, NULL, thread_func, "明天会更好\n");

    printf("主线程运行完毕\n");

    pthread_join(thread, (void **)&result);

    printf("子线程执行结果: %s\n", result);

    return 0;
}
